#include<cstdio>
#include<cstring>
const int maxm = 10005;
const int maxn=1000005;
int p[maxm],t[maxn];
int next[maxm],n,m,cas,ans;
void make_next()
{
	int k=0;
	next[0]=0;
	for(int i=2;i<=m;i++)
	{
		while(k>0&&p[k+1]!=p[i])
			k=next[k];
		if(p[k+1]==p[i])
			k++;
		next[i]=k;
	}
}
void match()
{
	int q=0;
	ans=-1;
	make_next();
	for(int i=1;i<=n;i++)
	{
		while(q>0&&p[q+1]!=t[i])
			q=next[q];
		if(p[q+1]==t[i])
			q++;
		if(q==m){ans=i-m+1;break;}
	}
	printf("%d\n",ans);
}
int main()
{
	scanf("%d",&cas);
	while(cas--)
	{
		scanf("%d%d",&n,&m);
		for(int i=1;i<=n;i++)
			scanf("%d",&t[i]);
		for(int i=1;i<=m;i++)
			scanf("%d",&p[i]);
		match();
	}
	return 0;
}


